package main

import (
	_ "beegoProject06/models/user"
	_ "beegoProject06/routers"
	"beegoProject06/utils"
	"fmt"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

/*
9.27【用户模块】用户添加ajax提交一
	1.user-add.html 添加ajax 修改密码 43H,108H,116H-135H,

9.28【用户模块】用户添加ajax提交二
	1. 修改控制器名 user_controller.go ToAdd,增加DoAdd
	2. user-list.html 修改控制器 45H
	3. 修改路由
	4. user-add.html  ajax调用138H-155H，
	5. user_controller.go DoAdd内获取数据
	6. user-add.html 引入sweetalert 23H,151H-169H,173H,

9.29【用户模块】用户添加前端定时器添加
	1. user-add.html 173H, 162H


9.30【用户模块】用户启用停用
	1. user-list.html 增加sweetalert22H, 获取IsActive93H,,102H,106H,修改调用(启用/停用)is_active171H,动态获取Id104H108H，
	2. user_controller.go 定义IsActive
	3. 路由
	4. user-list.html 173H-178H,
	5. user_controller.go 增加IsActive 获取数据
	6. user-list.html 前端传值 179H, 192H,
	7. user-list.html 修改代码判断is_active_val启停按钮 171-214H

9.31【用户模块】登录时对停用用户进行过滤
	1. user-list.html 添加 175h,196H
    2. 用户登录增加启用停用的用户验证 login_controller.go 查询session变更到47H, 增加判断59H

9.32【用户模块】用户删除功能完成
	1. user_controller.go  增加delete方法，逻辑删除
	2. 路由
	3. user-list.html 121H

9.33【用户模块】用户重置密码功能完成
	1. user_controller.go  增加ResetPassword方法
	2. 路由
	3. user-list.html 118H,
	4.

9.34【用户模块】用户编辑之数据回显
	1. user_controller.go  增加 ToUpdate 方法
	2. 拷贝 user-add.html 改成 user-edit.html
	3. 增加路由 用户编辑
	4. user-list.html 115H
    5. 见下一章节












*/

func init() {
	user := beego.AppConfig.DefaultString("mysql::Username", "root")
	pwd := beego.AppConfig.DefaultString("mysql::Password", "Ideal123")
	host := beego.AppConfig.DefaultString("mysql::Host", "127.0.0.1")
	port := beego.AppConfig.DefaultInt("mysql::Port", 3306)
	db := beego.AppConfig.DefaultString("mysql::DbName", "beegoProject")

	dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=true&loc=PRC",
		user, pwd, host, port, db)

	orm.RegisterDriver("mysql", orm.DRMySQL)
	orm.RegisterDataBase("default", "mysql", dsn)

}

func main() {
	orm.RunCommand()
	orm.Debug = true
	beego.BConfig.WebConfig.Session.SessionOn = true

	// 未登录请求拦截
	beego.InsertFilter("/main/*", beego.BeforeRouter, utils.LoginFilter)

	beego.Run()
}
